# Copyright (c) 2018 Presto Labs Pte. Ltd.
# Author: jaewon

from coin.exchange.okex.ws.subscriber import OkexSubscriber
from coin.exchange.okex_v3.ws.subscriber import OkexSubscriber as OkexV3Subscriber
from coin.strategy.mm.feed_builder import (OkexFlowBookBuilder, OkexV3FlowBookBuilder)
from coin.strategy.mm.base.feed import BaseFeedSubsystem
from coin.strategy.mm.subscription import SubscriptionRequest


class OkexFeedSubsystem(BaseFeedSubsystem):
  FeedSubReq = SubscriptionRequest('Spot', 'Okex', None)
  FeedSubscriber = OkexSubscriber
  FlowBookBuilder = OkexFlowBookBuilder


class OkexV3FeedSubsystem(BaseFeedSubsystem):
  FeedSubReq = SubscriptionRequest('Spot', 'Okex', 'v3')
  FeedSubscriber = OkexV3Subscriber
  FlowBookBuilder = OkexV3FlowBookBuilder
